package com.dragon.interfaces.mapper;

import com.dragon.interfaces.domain.request.menu.MenuRequest;
import com.dragon.interfaces.entity.Menu;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * <p>
 * 菜单权限表 Mapper 接口
 * </p>
 *
 * @author dragon
 * @since 2024-08-01 18:05:09
 */
@Mapper
public interface MenuMapper extends BaseMapper<Menu> {

    /**
     * 获取所有的权限字符
     *
     * @return 权限字符列表
     */
    List<String> selectAllPermission();

    /**
     * 获取菜单列表
     *
     * @param menuRequest 菜单列表请求参数
     * @return List<Menu>
     */
    List<Menu> selectMenuList(MenuRequest menuRequest);

    /**
     * 获取用户拥有的菜单
     *
     * @param param 菜单搜索请求参数
     * @return 菜单列表
     */
    List<Menu> selectUserPossessMenuList(MenuRequest param);

}
